using System;
using System.Collections.Generic;
using System.Text;
using EntidadesTO;
using LogicaNegocio;

namespace Controladoras
{
    public class PersonaMantenedor
    {
        private static PersonaMantenedor instancia;
        private List<PersonaTO> listaPersona;
        private PersonaBL personaBL;

        public static PersonaMantenedor ObtenerInstancia()
        {
            if (instancia == null)
            {
                instancia = new PersonaMantenedor(); 
            }
            return instancia;
        }

        //Constructor de la clase
        private PersonaMantenedor()
        {
            listaPersona = new List<PersonaTO>();
            personaBL = new PersonaBL();
        }

        public void CargarListaConFiltro(int pCodPersona, string pDesNombres, string pDesApellidoPaterno,
                                 string pDesApellidoMaterno, string pDesRazonSocial, int pCodDocumento,
                                 string pNumDocumento, int pTipoPersona)
        {
            listaPersona = personaBL.BuscarConFiltro(pCodPersona, pDesNombres, pDesApellidoPaterno,
                                                 pDesApellidoMaterno, pDesRazonSocial, pCodDocumento,
                                                 pNumDocumento, pTipoPersona);
        }

        public void BuscarPorLlave(int pCodPersona)
        {
            listaPersona = personaBL.BuscarPorLlave(pCodPersona);
        }

        //Devolver la lista de documentos legales
        public List<PersonaTO> ListaPersona
        {
            get
            {
                return this.listaPersona;
            }
        }
    }
}
